Java™ is a programming language that, at the source code level, is similar to object oriented programming languages such as C++. Java™ language source code is compiled into an intermediate representation based on a plurality “bytecodes” that define specific actions. In some implementations, the bytecodes are further compiled to machine language for a particular processor. In order to speed the execution of Java™ language programs, some processors are specifically designed to execute some of the Java™ bytecodes directly.
Many times, a processor that directly executes Java™ bytecodes is paired with a general purpose processor so as to accelerate Java™ program execution in a general or special purpose machine. It would be advantageous to provide accelerations, similar to those seen for directly executed Java™ bytecodes, in other languages and development environments.
In addition to using Java™ bytecodes to define specific actions, the triggering of such actions is sometimes driven by the occurrence of specific events. An event is generated by an event source which is a Java™ object and which often corresponds to a user interface component such as a mouse, keyboard, or other user interface device. The event serves as a way to notify a listener program that something of interest has occurred such as typing of a key on a keyboard, clicking of a mouse button, or any other such event. When an event occurs, a notification may be raised, and a particular Java™ method may be triggered for execution. It would be desirable to define a methodology that would allow identification and execution of the proper Java™ method in response to the raised notification.